/**
 * 上传成功后的文件
 */
export interface IMinioFile {
  /** 桶名称 */
  bucketName: string;
  /** 文件名称 */
  fileName: string;
  /** 文件路径 */
  filePath: string;
  /** 文件预览 URL */
  previewUrl: string;
}

/**
 * 分片上传使用的数据
 */
export interface IPart {
  uploadId: string;  // 上传任务的ID，用于标识该任务

  partNumber: number;  // 当前分片的编号

  partSize: number;  // 分片的大小，单位为字节

  loaded: number;  // 已加载/上传的字节数，用于计算进度

  status: 'success' | 'fail' | 'ready' | 'uploading' | 'cancel';  // 分片的状态，标记当前状态

  url?: string;  // 上传分片的URL，可能需要用于跟踪请求或重试

  uploadPartTask: () => Promise<any>;  // 上传当前分片的任务，返回一个Promise
}
